package cn.stylefeng.guns.modular.business.pojo;

import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 人物基本信息封装类
 *
 * @author zhangyaowen
 * @date 2021/10/25 16:46
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class FigureInfoRequest extends BaseRequest {

    /**
     * 人物id
     */
    @NotNull(message = "人物id不能为空", groups = {edit.class, delete.class})
    @ChineseDescription("人物id")
    private Long id;

    /**
     * 二级分类
     */
    @ChineseDescription("二级分类")
    private String figureSecond;

    /**
     * 二级分类代码
     */
    @ChineseDescription("二级分类代码")
    private String secondCode;

    /**
     * 人物代码
     */
    @NotBlank(message = "人物代码不能为空", groups = {add.class, edit.class})
    @ChineseDescription("人物代码")
    private String figureId;

    /**
     * 姓名
     */
    @ChineseDescription("姓名")
    private String figureName;

    /**
     * 生年
     */
    @ChineseDescription("生年")
    private String figureBirth;

    /**
     * 卒年
     */
    @ChineseDescription("卒年")
    private String figureDeath;

    /**
     * 别名
     */
    @ChineseDescription("别名")
    private String figureBeiming;

    /**
     * 籍贯-历史地名
     */
    @ChineseDescription("籍贯-历史地名")
    private String figureOldnative;

    /**
     * 籍贯-今地名
     */
    @ChineseDescription("籍贯-今地名")
    private String figureNewnative;

    /**
     * 朝代
     */
    @ChineseDescription("朝代")
    private String figureDynasty;

    /**
     * 人物标签
     */
    @ChineseDescription("人物标签")
    private String figureLabel;

    /**
     * 人物简介
     */
    @ChineseDescription("人物简介")
    private String figureIntroduction;

    /**
     * 注释
     */
    @ChineseDescription("注释")
    private String figureAnnotation;

    /**
     * 历史时期
     */
    @ChineseDescription("历史时期")
    private String historyPeriod;

    /**
     * 来源志书
     */
    @ChineseDescription("来源志书")
    private String figureLaiyuanzhishu;

    /**
     * 来源志书页码
     */
    @ChineseDescription("来源志书页码")
    private Long figureZhishupage;

}